Pobierz paczkę ze zbiorami danych (plik:
data.tar.gz).
Otwórz w notatniku, np. Gedicie plik o nazwie
swimming.arff i poznaj strukturę plików
uczących dla weki z danymi symbolicznymi.
Uruchom oprogramowanie WEKA i kliknij w przycisk
Explorer.
Załaduj plik w oknie (Explorer) i odpowiedz na
następujące pytania:
Jaki jest rozmiar zbioru uczącego?
Zbiór uczący to 7 kolumn (atrybutów, cech). W
zbiorze swimming znajduje się 6 instancji.
Ile atrybutów występuje w zbiorze uczącym?
Jest 6 instancji.
Ile instancji jest pozytywnych, a ile negatywnych?
4 pozytywne 2 negatywne
Spróbuj ustalić, który atrybut najlepiej rozdziela
dane?
Wydaje się, że atrybut airTemp w
naszym wypadku dobrze rozdziela dane. Wszystkim,
którzy mieli warm się podobało, a ludzie z pogodą
typu cold narzekali, bez wyjątku.
Ile elementów ze zbioru danych ma atrybut
wilgotność (humidity) ustawioną jako high?
4 elementy
Ile elementów ze zbioru danych ma atrybut sky
ustawiony jako sunny, a ile – jako wartość rainy?
sunny - 3 elementy
rainy - 1 element
Ile wartości brakujących znajduje się w rozważanym
zbiorze danych?
Wszystkie instancje mają wypełnione wszystkie pola.
Procent wartości brakujących to 0%.
Jakiego typu wartości przyjmują poszczególne
atrybuty w rozważanym zbiorze danych?
^ Wszystkie atrybuty mają typ
Nominal.
Wczytaj kolejny plik (plik: swimming.arff) ze zbioru danych.
Wybierz klasyfikator J48 (okno Choose).
W oknie Test option zaznacz opcję Use training set - w przyszłości nie będziemy korzystali z tej opcji - tutaj czynimy wyjątek ze względu na niewielki zbiór danych.
Kliknij Start. Przyjrzyj się rezultatowi – co oznaczają wyniki?
Odpowiedz na następujące pytania:
Co wyświetla Confusion matrix?
Ile instancji obiektów zostało zaklasyfikowane poprawnie, a ile niepoprawnie za pomocą użytego klasyfikatora?
Prawa przekątna jest zerami, czyli brak pomyłek.
Zwizualizuj drzewo decyzyjne.
Mówiłem!! :)
Wybierz trzy dowolne klasyfikatory dostępne w WEKA.
Wykonaj proste eksperymenty. W przypadku, kiedy dany
algorytm wymaga ustawienia wartości poszczególnych
parametrów – przy pierwszym eksperymencie zostaw
wartości domyślne (nic nie stoi na przeszkodzie, aby
zmienić wybrane parametry w kolejnych badaniach)
Dla każdego użytego klasyfikatora (po uruchomieniu; Use training set) zwróć uwagę na wynik (rezultat) przeprowadzonego eksperymentu – wypisz nazwę użytego klasyfikatora
KStar:
- 100% dobrze
- 0% źle
BayesNet:
- 100% dobrze
- 0% źle
REPTree:
- 66% dobrze
- 33% źle
Posiadając wyniki z przeprowadzonych eksperymentów spróbuj dokonać oceny użytych podejść, tzn. które podejście okazało się lepsze/gorsze/uzyskane rezultaty nie wykazały różnic w wynikach?
KStar i BayesNet nie wykazuje róźnicy. Z jakiegoś powodu REPTree dwa razy popełniło błąd.
Wczytaj kolejny plik (plik: credit-g.arff) do WEKA.
Przejdź do zakładki Classify.
Wybierz klasyfikator J48 (okno Choose).
W oknie Test option zaznacz opcję Percentage split – z
wartością 66%. Jakie ma to znaczenie? Tzn. czym jest owo
66% danych, a czym pozostała część tego zbioru (34%), w
jakim celu stosujemy taki podział? – skomentuj.
Osobiście rozumiem to tak, że 66% wszystkich instancji
zostanie przeznaczone na nauczenie się reguł i
przewidywania. Pozostałe 34% instancji zostanie wówczas
przeznaczona do przetestowania zbudowanego modelu.
Uruchom algorytm.
Ile instancji obiektów zostało zaklasyfikowanych
poprawnie, a ile niepoprawnie?
Zmień algorytm na ZeroR (z gałęzi rules).
Ile instancji obiektów zostało zaklasyfikowanych
poprawnie, a ile niepoprawnie?
Wypróbuj inne klasyfikatory (dowolne)
Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile niepoprawnie?
KStar:
- 70.5% dobrze
- 29.5% źle
BayesNet:
- 75.3% dobrze
- 24.7% źle
REPTree:
- 74.1% dobrze
- 25.9% źle
Przejdź do zakładki Preprocess i
zobacz jak wygląda rozkład atrybutu określającego czy
danych zestaw jest dobry czy zły.
700 instancji wiarygodnych
300 instancji ryzykownych
Jaka byłaby skuteczność algorytmu który niezależnie od wartości atrybutów „strzelałby” że użytkownik jest wiarygodny?
70%
Dlaczego przed przystąpieniem do klasyfikacji, warto wcześniej przyjrzeć się danym?
Przed przystąpieniem do klasyfikacji, warto przyjrzeć się danym, ponieważ pozwala to lepiej zrozumieć dane i wybrać odpowiedni model klasyfikacyjny. Może to również pomóc w zidentyfikowaniu problemów z danymi, takich jak brakujące wartości lub niezbalansowane klasy. Przyjrzenie się danym również pozwala lepiej zrozumieć oczekiwane wyniki i ocenić, czy model będzie w stanie osiągnąć wymagane poziomy dokładności.
Wczytaj dowolny plik z danymi do WEKA.
Spróbuj dokonać następującego eksperymentu eksperymentu:
Dodaj szum do danych (pobaw się wartościami
procentowymi) – gdzie szukać?
Dokonaj klasyfikacji i sprawdź uzyskany rezultat – dowolny klasyfikator.
Dane przed szumem:
Dane po szumie 21%:
Jak widać jest niezła zmiana.